<!--
    描述：
        复制按钮，用于复制一段文本
    传参：
        content：要复制的内容
    方法：
        无
    示例：
        <copy content="123"></copy>
-->
<template>
    <CopyOutlined class="copy" @click="copy" />
</template>

<script lang="ts" setup>
import {
    CopyOutlined
} from '@ant-design/icons-vue';
import { message } from 'ant-design-vue';

const props = defineProps({
    content: {
        type: String,
        require: true
    }
})

/**
 * 复制
 */
const copy = () => {
    const input = document.createElement('input');
    input.value = String(props.content); // 把值赋给input
    document.body.appendChild(input); // 添加input元素
    input.select(); // 选择input元素的值
    document.execCommand('copy'); // 执行复制操作
    message.success('复制成功', 3);
}
</script>

<style lang="scss" scoped>
.copy {
    cursor: pointer;
}
</style>